package com.xuecheng.api.teaching;

import com.xuecheng.api.teaching.model.dto.CourseWorkRecDTO;
import com.xuecheng.api.teaching.model.dto.WorkDTO;
import com.xuecheng.api.teaching.model.dto.WorkRecordDTO;
import com.xuecheng.api.teaching.model.qo.QueryWorkModel;
import com.xuecheng.api.teaching.model.vo.WorkRecordVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.api.teaching.model.qo.QueryWorkModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;


@Api(value = "作业管理")
public interface WorkRecordApi {
    @ApiOperation("新增或修改作业记录")
    @ApiImplicitParam(name = "WorkRecordVo", value = "作业记录Vo", required = true, dataType = "WorkRecordVo", paramType = "body")
    WorkRecordDTO createOrWorkRecord(WorkRecordVO workRecordVo);


    @ApiOperation("作业批改-分页查询基本作业信息")
    PageVO queryWork(PageRequestParams params, QueryWorkModel model);

    /**
     * 批阅详情
     * @param courseWorkId 课程作业提交id
     * @return CourseWorkRecDTO
     */
    @ApiOperation("批阅详情")
    CourseWorkRecDTO readOverAll(String courseWorkId);

    @ApiOperation("提交教师批改意见")
    @ApiImplicitParam(name = "workRecordVO",value = "教师批改意见Vo",required = true,dataType = "WorkRecordVO",paramType = "body")
    WorkRecordDTO submitWorkRecord(WorkRecordVO workRecordVO);


    @ApiOperation("根据workId查询课程计划作业填写请况")
    @ApiImplicitParam(name = "workId",value = "作业Id",required = true,dataType = "Long",paramType = "path")
    WorkDTO queryWorkRecord(Long workId);


}
